package com.csi.domain;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.sql.Timestamp;

/**
 * 酒店加盟表
 */
@Data
@Schema(description = "酒店加盟信息模型")
public class HotelFranchise {

    @Schema(description = "酒店加盟的唯一标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private long id; // 酒店加盟id

    @Schema(description = "酒店合同文件或链接", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://example.com/contracts/hotel_franchise_001.pdf")
    private String contract; // 酒店合同

    @Schema(description = "酒店法人联系电话", requiredMode = Schema.RequiredMode.REQUIRED, example = "010-12345678")
    private String hotelLegalContext; // 酒店法人联系电话

    @Schema(description = "法人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    private String legalName; // 法人姓名

    @Schema(description = "合同生效时间", requiredMode = Schema.RequiredMode.REQUIRED,
            type = "string", format = "date-time", example = "2024-01-15T09:00:00.000+08:00")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp effectTime; // 生效时间

    @Schema(description = "合同过期时间", requiredMode = Schema.RequiredMode.REQUIRED,
            type = "string", format = "date-time", example = "2029-01-15T09:00:00.000+08:00")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp expiresTime; // 过期时间

    @Schema(description = "关联的酒店ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private long hotelId; // 酒店id

    @Schema(description = "操作人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3")
    private long operateId; // 操作人id
}